import Vue from 'vue'
import App from './App.vue'

import router from './router'
//引入axios 发请求
import axios from 'axios'
Vue.prototype.$axios = axios

// 引入vant 轻提示
import Vant, { Toast } from 'vant'
Vue.use(Vant)
import 'vant/lib/index.css'
// 关闭生产环境提示，正在开发中
Vue.config.productionTip = false

axios.defaults.baseURL = 'http://liangwei.tech:3000'
//创建全局前置路由守卫
//拦截所有的路由跳转，进行校验
//router.beforeEach()可以创建全局守卫，里面的回调函数
//三个参数
//to 目标路由
//from 从什么路由开始跳转
//最后next是放行函数
router.beforeEach((to,from,next)=>{
  if (to.path == '/user') {
    if (localStorage.getItem('token')) {
      next()
    }else {
      router.push('/')
    }
  }else {
    next()
  }
})

import {toast} from "vant"
// 添加axios拦截器
//统一处理响应错误，所以添加一个响应拦截器
//将所有请求的响应都拦截下来
//axios.insterceptor.response.use() 这是创建拦截器的函数
//里面接收一个回调，这个回调用来处理所有被拦截的响应
//可以接收一个响应数据作为形参
axios.interceptors.response.use((res)=>{
  console.log(res);
  const {message,statusCode} = res.data
 
  
  if (statusCode == 401) {
    console.log("这里是响应拦截，拦截了401错误");
    Toast.fail(message)
  }
  return res
})


new Vue({
  router,
  render: function (h) { return h(App) }
}).$mount('#app')
